﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sio.Mdm.Entities;

namespace Sio.Mdm.Types.Database
{
    [Entities.Entity(
                "Sio.Mdm.BF.Ldap.ILdapLogiService, Sio.Mdm.BF.Ldap",
                TableName = "LDAP_LOGI"
            )]
    public interface LdapLog : IEntity
    {
        [PrimaryKey(Name = "LDAP_LOG_ID", GeneratorName = "GEN_LDAP_LOGI")]
        int LdapLogID { get; set; }

        [Field(Name = "LDAP_PRAVILO_ID")]
        int LdapPraviloID { get; set; }

        [Field(Name = "LDAP_STREZNIK_ID")]
        int LdapStreznikID { get; set; }

        [Field(Name = "TIP_SINHRONIZACIJE")]
        int TipSinhronizacije { get; set; }

        [Field(Name = "DATUM")]
        DateTime Datum { get; set; }

        [Field(Name = "STATUS")]
        int Status { get; set; }

        [Field(Name = "INS")]
        int CountIns { get; set; }

        [Field(Name = "UPD")]
        int CountUpd { get; set; }

        [Field(Name = "DEL")]
        int CountDel { get; set; }

        [Field(Name = "POROCILO")]
        string Porocilo { get; set; }

        [Field(Name = "OPOZORILO")]
        string Opozorilo { get; set; }

        [Field(Name = "NAPAKA")]
        string Napaka { get; set; }

        [Field(Name = "PORABLJEN_CAS")]
        int PorabljenCas { get; set; }           
    }


    [Entities.Entity(
                "Sio.Mdm.BF.Ldap.ILdapLogiRazsirjenoService, Sio.Mdm.BF.Ldap",
                TableName = "LDAP_LOGI_RAZSIRJENO"
            )]
    public interface LdapLogRazsirjeno : LdapLog
    { 
        [Field(Name = "PRAVILO_ORGARNIZACIJA_ID")]
        string PraviloOrgarnizacijaID { get; set; }

        [Field(Name = "PRAVILO_IME")]
        string PraviloIme { get; set; }

        [Field(Name = "PRAVILO_OPIS")]
        string PraviloOpis { get; set; }

        [Field(Name = "PRAVILO_LDAP_STREZNIK_ID")]
        int PraviloLdapStreznikID { get; set; }

        [Field(Name = "PRAVILO_LDAP_PREDLOGA_ID")]
        int PraviloLdapPredlogaID { get; set; }

        [Field(Name = "PRAVILO_BASE_DN")]
        string PraviloBaseDN { get; set; }

        [Field(Name = "PRAVILO_OBJECT_CLASS")]
        string PraviloObjectClass { get; set; }

        [Field(Name = "PRAVILO_TIP_SINHRONIZACIJE")]
        int PraviloTipSinhronizacije { get; set; }

        [Field(Name = "STREZNIK_IME")]
        string StreznikIme { get; set; }
        
        [Field(Name = "STREZNIK_OPIS")]
        string StreznikOpis { get; set; }

        [Field(Name = "STREZNIK_NASLOV")]
        string StreznikNaslov { get; set; }

        [Field(Name = "STREZNIK_ROOT_DN")]
        string StreznikRootDN { get; set; }

        [Field(Name = "ORGARNIZACIJA_NAZIV")]
        string OrgarnizacijaNaziv { get; set; }      
    }
}
